Nous allons commencer par étudier comment les méthodes off-policy que vous avons vues dans la formation d'initiation à l'apprentissage par renforcement (qui étaient utilisées dans le cadre d'un environnement avec un nombre d'états finis) peuvent être adaptées à l'utilisation de fonctions d'approximation et en utilisant la méthode du semi-gradient. Ces méthodes utilisent le ratio d'échantillonnage préférentiel pour modifier la mise à jour des cibles mais ne gèrent pas la seconde problématique concernant la transformation de la mise à jour des distributions. Ce sont donc des méthodes qui peuvent diverger dans certains cas mais qui sont cependant très souvent fonctionnelles.
Dans la formation d'initiation à l'apprentissage par renforcement, nous avons vu différentes méthodes de type off-policy dans le module n°7 (Méthodes par différences temporelles n-Step). Pour les utiliser sous la forme du semi-gradient, il suffit de remplacer les mises à jour des valeurs des états $V$ ou des actions $Q$ qui était sous formes tabulaires en une mise à jour du vecteur poids $\textbf{w}$ en utilisant les approximations des fonctions des valeurs d'état $\hat v$ des actions $\hat q$ et leur gradient associé.
2.1. Ratio d'échantillonnage préférentiel
Rappelons tout d'abord l'expression du ratio d'échantillonnage préférentiel:
2.2. Algorithme semi-gradient simple pas TD(0) off-policy
Pour l'algorithme simple pas TD(0), la mise à jour du vecteur poids reprend donc l'algorithme semi-gradient on-policy correspondant auquel on ajoute simplement le ratio d'échantillonnage préférentiel pour adapter les mises à jour des cibles. Pour calculer la valeur des états :
Pour les valeurs d'actions, les mises à jour se font de la manière suivante:
2.3. Algorithme semi-gradient TD n-step off-policy
Pour l'algorithme TD n-step, la mise à jour du vecteur poids pour calculer les valeurs des états se fait de la manière suivante:
Avec:
Avec:
Pour calculer les valeurs des actions on procède de la manière suivante:
Avec:
$\quad \quad$ si $t+n < T$ et ${G_{t:t + n}} = G_t$ si $t+n \ge T$.